package ziface

import "net"

// 定义连接接口
type IConnection interface {
	GetTCPConnection() *net.TCPConn // 返回当前连接的套接字(socket/conn)
	GetConnID() uint32              // 返回当前连接ID
	RemoteAddr() net.Addr           // 获取远程客户端地址信息
	// ----流程----

	Start()                               // 启动连接
	StartReader()                         // 读取数据
	SendMsg(id uint32, data []byte) error // 数据TLV封包->Writer
	StartWriter()                         // 写入数据
	Stop()                                // 停止连接
	// ----自定义连接属性集合----

	SetProperty(key string, value interface{})   // 设置属性
	GetProperty(key string) (interface{}, error) // 返回属性
	RemoveProperty(key string)                   // 删除属性
}
